From 77f28d83abfca5249090045cf7fb662fedfeb451 Mon Sep 17 00:00:00 2001 From: "kaf24@scramble.cl.cam.ac.uk" Date: Sun, 21 Mar 2004 14:42:49 +0000 Subject: [PATCH] bitkeeper revision 1.813 (405da9e9QvkmUOrd9sFqdbbf_bL8tg) memory.c: Fix L2 refcnt bug. --- xen/common/memory.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/xen/common/memory.c b/xen/common/memory.c index 32acc0ac11..bf61820af5 100644 --- a/xen/common/memory.c +++ b/xen/common/memory.c @@ -829,11 +829,12 @@ static int do_extended_command(unsigned long ptr, unsigned long val) CHECK_STRICT); if ( likely(okay) ) { + invalidate_shadow_ldt(); + percpu_info[cpu].deferred_ops &= ~DOP_FLUSH_TLB; + current->mm.pagetable = mk_pagetable(pfn << PAGE_SHIFT); + write_cr3_counted(pagetable_val(current->mm.pagetable)); put_page_and_type(&frame_table[pagetable_val(current->mm.pagetable) >> PAGE_SHIFT]); - current->mm.pagetable = mk_pagetable(pfn << PAGE_SHIFT); - invalidate_shadow_ldt(); - percpu_info[cpu].deferred_ops |= DOP_FLUSH_TLB; } else { -- 2.30.2